/*
 * 描          述:  <描述>
 * 修  改   人:  Administrator
 * 修改时间:  2019年5月28日
 * <修改描述:>
 */
package com.tx.component.basicdata.model;

import com.tx.component.model.TestMode2;
import com.tx.component.model.TestModeNested1;
import com.tx.component.model.TestModeNested2;
import com.tx.component.model.TestTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 测试对象
 * <功能详细描述>
 *
 * @author  Administrator
 * @version  [版本号, 2019年5月28日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
@Table(name = "test_testmode")
@ApiModel("测试对象")
@Data
public class BasicDataTestMode implements BasicData {

    /** 注释内容 */
    private static final long serialVersionUID = 6178575556690707134L;

    @Id
    private String id;

    @Column(updatable = false, nullable = false, length = 32)
    private String code;

    private String value;

    private boolean modifiable;

    private String parentId;

    @Column(name = "nested1Id")
    private TestModeNested1 nested1;

    @Column(name = "nested2Code")
    private TestModeNested2 nested2;

    @Column(nullable = false, length = 32)
    private String name;

    private TestTypeEnum type;

    private String remark;

    private String description;

    private String attributes;

    @Column(nullable = false, updatable = false)
    private Date createDate;

    @Column(updatable = false)
    private String createOperatorId;

    @Column(nullable = false)
    private Date lastUpdateDate;

    private String lastUpdateOperatorId;

    @Column(nullable = false)
    private boolean valid = true;

    private boolean modifyAble;

    @ApiModelProperty("是否成功")
    private Boolean success;

    private Date effictiveDate;

    private Date expiryDate;

    @ApiModelProperty("测试int值")
    private int testInt;

    @ApiModelProperty("测试Long值")
    private Long testLong;

    @ApiModelProperty("测试BigDecimal值")
    private BigDecimal testBigDecimal;

    @Transient
    private List<BasicDataTestMode> children;

    @OneToMany
    private List<TestMode2> testMode2List;
}
